package com.danbay.cloud.device.api.dto;

import com.danbay.cloud.base.constants.DeviceType;
import lombok.Data;

/**
 * @author SJG
 *         2017/11/2.
 */
@Data
public class DeviceInfoDto {

    /**
     * 设备id
     * 由中控获取设备上的唯一码作为设备id
     */
    private String devId;

    /**
     * 设备 SN 号，用于区分设备。
     * SN码组成：
     * “DB”-“设备类型”-“产品型号”
     * SN码范围：
     * DB-GW-XX（中控）
     * DB-LK1-XX（大锁8105）
     * DB-LK2-XX（小锁8015）
     * DB-EM1-XX（电表）
     * DB-WM1-XX（水表）
     */
    private String name;
    /**
     * 设备mac地址
     */
    private String mac;
    /**
     * 设备版本号
     */
    private String version;
    /**
     * 设备所属中控设备id
     * 中控注册时此项为空
     */
    private String ctrlDevId;
    /**
     * 中控或设备所属中控ip地址
     */
    private String ip;

    /**
     * 设备类型
     */
    private Integer deviceType;

    /**
     * 是否在线
     */
    private Boolean online;

    /**
     * 获取设备类型
     *
     * @return
     */
    public Integer getDeviceType() {
        if (deviceType == null && getName() != null) {
            return DeviceType.parse(getName()).value();
        }
        return deviceType;
    }

}
